struct HashTable {  
    buckets: Vec<Option<Vec<(String, i32)>>>,  
}  

impl HashTable {  
    fn insert(&mut self, key: String, value: i32) {  
        let index = self.hash(&key);  
        // TODO: 处理冲突（链地址法）  
    }  
}  

#[test]  
fn test_collision() {  
    let mut table = HashTable::new(2);  
    table.insert("a".into(), 1);  
    table.insert("b".into(), 2);  
    assert_eq!(table.get("a"), Some(1));  
}  